There exist many techniques for controlling digital packet information flows. Some such techniques involve providing a certain quality of service for different types of traffic. There are a number of general requirements associated with ensuring quality of service levels. Where quality differentiation is provided for more than one data stream, it is preferable to ensure that different quality requirements for the various data streams of packets are individually and collectively met within the constraint of the finite quality available. In order to provide differential levels of loss and delay as well as throughput, the quantity of input data and its temporal pattern should be constrained. The quantity of input data serviced, i.e. the throughput of data, is known as long term management. Controlling the temporal pattern of data is known as short term management. The traffic in particular data streams also should be protected from the consequential effects of burstiness in other data streams. For example, individual data streams of traffic should be protected from the effects of protocols such as Transmission Control Protocol (TCP), which is designed to use as much bandwidth as possible without regard to other data streams, and from malicious intentions or errors in the end devices of a network. It is also preferable to manage the interleaving of individual data streams within the constraints of available resources.
The management of quality of service is particularly difficult at the periphery or edge of the network, as the devices are not under the control of the central administrator of the network. The behavior of these devices, therefore, cannot be assumed or predicted. The ever-increasing diversity in applications, traffic, and convergence also complicates the management of quality of service. Different traffic has different quality of service requirements, and the consequences of delay and/or loss differs for different traffic according to the interpretation associated with an application.
The possibility of replicating network devices to enable traffic with different quality requirements to be physically separated and processed separately is impractical, as the implementation of network devices is expensive. For this reason, it is desirable to manage quality of service of different traffic using a single network device.
There is currently a trend towards forming traffic patterns as constant bit rate patterns, with the aim of increasing predictability. This is deterministic control which focuses on improving the loss characteristics and efficiency of the network. However, such techniques have the disadvantage that quality assurance in the presence of “over-booking” often requires total global knowledge of the behavior of sources in the network such as on/off times, relative phase, and the effects of past history on the state of the network.
The sources around the network may not have a predictable on/off behavior and may not operate at a fixed rate. Often, such sources may engage in band width discovery attempting to override the network to which they are connected. When permitting such data streams to flow into a large capacity network, it is in the interest of network operators to police the volume of the data streams and to provide a mechanism for assuring that misbehaving individual data streams have a limited effect on all the other traffic in the network.
Accordingly, what is needed in the art is an improved technique for controlling information flow in a data transmission system, which enables the control of the quality of service requirements for different types of traffic to be improved.